package com.christina.engine.intent;

import com.alibaba.fastjson.JSONObject;
import com.christina.engine.intent.model.Intent;
import com.christina.engine.intent.model.IntentContext;

/**
 * 意图识别引擎接口
 * 
 * @author Christina
 */
public interface IntentRecognitionEngine {
    
    /**
     * 识别用户意图
     * 
     * @param userInput 用户输入
     * @param context 上下文信息
     * @return 识别的意图
     */
    Intent recognizeIntent(String userInput, IntentContext context);
    
    /**
     * 提取意图参数
     * 
     * @param userInput 用户输入
     * @param intent 已识别的意图
     * @return 意图参数
     */
    JSONObject extractParameters(String userInput, Intent intent);
    
    /**
     * 计算意图置信度
     * 
     * @param userInput 用户输入
     * @param intent 意图
     * @return 置信度分数 (0-1)
     */
    double calculateConfidence(String userInput, Intent intent);
}